home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2001 May / SGI IRIX Base Documentation 2001 May.iso / usr / share / catman / a_man / cat7 / kbd.z / kbd
Encoding:
Text File  |  1998-10-20  |  9.6 KB  |  199 lines

  1.  
  2.  
  3.  
  4. kkkkbbbbdddd((((7777))))                                                                  kkkkbbbbdddd((((7777))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      _kkkk_bbbb_dddd - generalized string translation module
  10.  
  11. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  12.      The STREAMS module _kkkk_bbbb_dddd is a programmable string translation module. It
  13.      can perform two types of operations on an input stream: the first type is
  14.      simple byte-swapping via a lookup table, the second is string
  15.      translation.  It is useful for _c_o_d_e _s_e_t _c_o_n_v_e_r_s_i_o_n and _c_o_m_p_o_s_e-_k_e_y or
  16.      _d_e_a_d-_k_e_y character production on terminals and production of overstriking
  17.      sequences on printers. It may also be used for minor types of key-
  18.      rebinding, expansion of abbreviations, and keyboard re-arrangement (an
  19.      example of the latter would be swapping the positions of the YYYY and ZZZZ
  20.      keys, required for German keyboards, or providing Dvorak keyboard
  21.      emulation for QWERTY keyboards).  The manual entry _kkkk_bbbb_dddd_cccc_oooo_mmmm_pppp(1M) discusses
  22.      table construction, the input language, and contains sample uses.  This
  23.      document is intended mainly to aid administrators in configuring the
  24.      module on a particular system; the user interface to the module is solely
  25.      through the commands _kkkk_bbbb_dddd_llll_oooo_aaaa_dddd(1M) and _kkkk_bbbb_dddd_ssss_eeee_tttt(1).
  26.  
  27.      The _kkkk_bbbb_dddd module works by modifying an input stream according to
  28.      instructions embodied in tables.  It has no built in default tables.
  29.      Some tables may be loaded when the system is first brought up by pushing
  30.      the module and loading standard or often-used tables [see _kkkk_bbbb_dddd_llll_oooo_aaaa_dddd(1M)]
  31.      which are retained in main-memory across invocations and made available
  32.      to all users.  These are called _p_u_b_l_i_c _t_a_b_l_e_s. Users may also load
  33.      _p_r_i_v_a_t_e _t_a_b_l_e_s at any time-these do not remain resident.
  34.  
  35.      With the _kkkk_bbbb_dddd_ssss_eeee_tttt command, users may query the module for a list of
  36.      available and attached tables, attach various tables, and set the
  37.      optional per-user _h_o_t-_k_e_y, _h_o_t-_k_e_y _m_o_d_e, and _v_e_r_b_o_s_e _s_t_r_i_n_g for their
  38.      particular invocation.
  39.  
  40.      When a user attaches more than one table, the user's hot-key may be used
  41.      to cycle to the next table in the list.  If only one table is specified,
  42.      the hot-key may be used to toggle translation on and off.  When multiple
  43.      tables are in use, the hot-key may be used to cycle through the list of
  44.      tables. [See _kkkk_bbbb_dddd_ssss_eeee_tttt(1) for a description of the available modes.]
  45.  
  46.      In its initial state, _kkkk_bbbb_dddd scans input for occurrences of bytes beginning
  47.      a translation sequence.  Upon receiving such a byte, it attempts to match
  48.      subsequent bytes of the input to programmed sequences.  Input is buffered
  49.      beginning with the byte which caused the state change and is released if
  50.      a match is not found.  When a match fails, the first byte of the invalid
  51.      sequence is sent upstream, the buffered input is shifted, and the scan
  52.      begins again with the resulting input sequence.  If the current table
  53.      contains an error entry, its value (one or more bytes) is substituted for
  54.      the offending input byte.  When a sequence is found to be valid, the
  55.      entire sequence is replaced with the _r_e_s_u_l_t _s_t_r_i_n_g specified for it.
  56.  
  57.      The _kkkk_bbbb_dddd module may be used in either the read or write directions, or
  58.      both simultaneously.  Maps and hot-keys may be specified independently
  59.      for input and output.
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. kkkkbbbbdddd((((7777))))                                                                  kkkkbbbbdddd((((7777))))
  71.  
  72.  
  73.  
  74.      The _kkkk_bbbb_dddd also supports the use of _e_x_t_e_r_n_a_l _k_e_r_n_e_l-_r_e_s_i_d_e_n_t _f_u_n_c_t_i_o_n_s as if
  75.      they were tables; once declared and attached (via _kkkk_bbbb_dddd_llll_oooo_aaaa_dddd and _kkkk_bbbb_dddd_ssss_eeee_tttt
  76.      respectively) they may be used as simple tables or members of composites.
  77.      To accomplish this, _kkkk_bbbb_dddd understands the registration functions of the _aaaa_llll_pppp
  78.      module and can access any function registered with that module.  Further
  79.      information on external functions and their definition is contained in
  80.      _aaaa_llll_pppp(7).  External functions are especially useful in supporting multibyte
  81.      code set conversions that would be difficult or impossible with normal
  82.      _kkkk_bbbb_dddd tables.
  83.  
  84.    LLLLiiiimmmmiiiittttaaaattttiiiioooonnnnssss
  85.      It is not an error to attach multiple tables without defining a hot-key,
  86.      but the tables will not all be accessible.  It is recommended that the
  87.      user's hot-key be set before loading and attaching tables to avoid
  88.      unpleasant side effects when an unfamiliar arrangement is first loaded.
  89.  
  90.      Each user has a limitation on the amount of memory that may be used for
  91.      private and attached tables. This ``quota'' is controlled by the _kkkk_bbbb_dddd______uuuu_mmmm_eeee_mmmm
  92.      variable described below.  When a user that is not the super-user
  93.      attempts to load a table or create a _c_o_m_p_o_s_i_t_e _t_a_b_l_e, the quota is
  94.      checked, and the load will fail if it would cause the quota to be
  95.      exceeded.  When a composite table is attached, the space for attachment
  96.      (which requires more space than the composite table itself) is charged
  97.      against this quota (attachment of simple tables is not charged against
  98.      the quota).  The quota is enforced only when loading new tables.
  99.      Detaching temporarily from unneeded composite tables may reduce the
  100.      current allocation enough to load a table that would otherwise fail due
  101.      to quota enforcement.  To minimize chances of failure while loading
  102.      tables, it is advisable to load all required tables and make all required
  103.      composite tables before attaching any of them.
  104.  
  105.    CCCCoooonnnnffffiiiigggguuuurrrraaaattttiiiioooonnnn PPPPaaaarrrraaaammmmeeeetttteeeerrrrssss
  106.      The master (or _ssss_pppp_aaaa_cccc_eeee_...._cccc) file contains some configurable parameters.
  107.  
  108.      _NNNN_KKKK_BBBB_DDDD_UUUU is the maximum number of tables that may be attached by a single
  109.      user.  The number should be large enough to cover uncommon cases, and
  110.      must be at least 2.  Default is 6.
  111.  
  112.      _ZZZZ_UUUU_MMMM_EEEE_MMMM, from which the variable _kkkk_bbbb_dddd______uuuu_mmmm_eeee_mmmm is assigned, is the maximum
  113.      number of bytes that a user (other than the super user) may have
  114.      allocated to private tables (that is, the quota).  Default is 4096.
  115.  
  116.      _KKKK_BBBB_DDDD_TTTT_IIII_MMMM_EEEE is the default timer value for _t_i_m_e_o_u_t _m_o_d_e.  It is the number of
  117.      clock ticks allowed before timing out.  The value of one clock tick
  118.      depends on the hardware, but is usually 1/100 or 1/60 of a second. A
  119.      timeout value of 20 is 1/5 second at 100Hz; with a 60Hz clock, a value of
  120.      12 produces a 1/5 second timeout.  Values from 5 to 400 inclusive are
  121.      allowed by the module; if the value set for _KKKK_BBBB_DDDD_TTTT_IIII_MMMM_EEEE is outside this
  122.      range, the module forces it to the nearest limit.  (This value is only a
  123.      default; users may change their particular stream to use a different
  124.      value depending on their own preferences, terminal baud-rate, and typing
  125.      speed.)
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. kkkkbbbbdddd((((7777))))                                                                  kkkkbbbbdddd((((7777))))
  137.  
  138.  
  139.  
  140. FFFFIIIILLLLEEEESSSS
  141.      _////_uuuu_ssss_rrrr_////_llll_iiii_bbbb_////_kkkk_bbbb_dddd        - directory containing system standard table files.
  142.      _////_uuuu_ssss_rrrr_////_llll_iiii_bbbb_////_kkkk_bbbb_dddd_////_****_...._mmmm_aaaa_pppp  - source for some system table files.
  143.  
  144. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  145.      _kkkk_bbbb_dddd_ssss_eeee_tttt(1), _kkkk_bbbb_dddd_cccc_oooo_mmmm_pppp(1M), _kkkk_bbbb_dddd_llll_oooo_aaaa_dddd(1M), _aaaa_llll_pppp(7).
  146.  
  147. NNNNOOOOTTTTEEEESSSS
  148.      NULL characters may not be used in result or input strings, because they
  149.      are used as string delimiters.
  150.  
  151.      One should be able to obtain information on timeout values of currently
  152.      attached tables, and be able to reset values more easily.
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.